package beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AperturaMesaBean implements Serializable{
		/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
		private Integer idAperturaMesa;
		private String estado;
		private List<MesaBean> mesas = new ArrayList<MesaBean>();
		private MozoBean mozo;
		private Integer cantComensales;
		private List<PedidoBean> pedidos = new ArrayList<PedidoBean>();
		private Date fecha;
			
		public AperturaMesaBean() {
//			this.mesas = new ArrayList<MesaBean>();
//			this.mozo = new MozoBean();
//			this.cantComensales = 0;
//			this.pedidos = new ArrayList<PedidoBean>();
//			this.fecha = new Date();
		}

		public List<MesaBean> getMesas() {
			return mesas;
		}
		
		public void setMesas(List<MesaBean> mesas) {
			this.mesas = mesas;
		}
		
		public void setMesa(MesaBean mesa) {
			this.mesas.add(mesa);
		}
		public void removeMesa(MesaBean mesa) {
			//chequear
			this.mesas.remove(mesa);
		}
		
		public MozoBean getMozo() {
			return mozo;
		}

		public void setMozo(MozoBean mozo) {
			this.mozo = mozo;
		}

		public Integer getCantComensales() {
			return cantComensales;
		}

		public void setCantComensales(Integer cantComensales) {
			this.cantComensales = cantComensales;
		}
		
		public List<PedidoBean> getPedidos() {
			return pedidos;
		}

		public void setPedidos(List<PedidoBean> pedidos) {
			this.pedidos = pedidos;
		}

		public Date getFecha() {
			return fecha;
		}

		public void setFecha(Date fecha) {
			this.fecha = fecha;
		}

		public void setEstado(String estado) {
			this.estado = estado;
		}

		public String getEstado() {
			return estado;
		}

		public void setIdAperturaMesa(Integer idAperturaMesa) {
			this.idAperturaMesa = idAperturaMesa;
		}

		public Integer getIdAperturaMesa() {
			return idAperturaMesa;
		}

		@Override
		public int hashCode() {
			final int prime = 31;
			int result = 1;
			result = prime
					* result
					+ ((cantComensales == null) ? 0 : cantComensales.hashCode());
			result = prime * result
					+ ((estado == null) ? 0 : estado.hashCode());
			result = prime * result + ((fecha == null) ? 0 : fecha.hashCode());
			result = prime
					* result
					+ ((idAperturaMesa == null) ? 0 : idAperturaMesa.hashCode());
			result = prime * result + ((mesas == null) ? 0 : mesas.hashCode());
			result = prime * result + ((mozo == null) ? 0 : mozo.hashCode());
			result = prime * result
					+ ((pedidos == null) ? 0 : pedidos.hashCode());
			return result;
		}

		@Override
		public boolean equals(Object obj) {
			if (this == obj)
				return true;
			if (obj == null)
				return false;
			if (getClass() != obj.getClass())
				return false;
			AperturaMesaBean other = (AperturaMesaBean) obj;
			if (cantComensales == null) {
				if (other.cantComensales != null)
					return false;
			} else if (!cantComensales.equals(other.cantComensales))
				return false;
			if (estado == null) {
				if (other.estado != null)
					return false;
			} else if (!estado.equals(other.estado))
				return false;
			if (fecha == null) {
				if (other.fecha != null)
					return false;
			} else if (!fecha.equals(other.fecha))
				return false;
			if (idAperturaMesa == null) {
				if (other.idAperturaMesa != null)
					return false;
			} else if (!idAperturaMesa.equals(other.idAperturaMesa))
				return false;
			if (mesas == null) {
				if (other.mesas != null)
					return false;
			} else if (!mesas.equals(other.mesas))
				return false;
			if (mozo == null) {
				if (other.mozo != null)
					return false;
			} else if (!mozo.equals(other.mozo))
				return false;
			if (pedidos == null) {
				if (other.pedidos != null)
					return false;
			} else if (!pedidos.equals(other.pedidos))
				return false;
			return true;
		}


}
